package com.redpack.quick.service;

import com.redpack.quick.datasource.entity.UserInfoEntity;

import java.math.BigDecimal;
import java.util.Map;

/**
 * Created by shuttle on 4/3/18.
 */
public interface IUserInfo {

    /**
     * 保存用户信息
     * @param entity
     * @return
     */
    UserInfoEntity save(UserInfoEntity entity, String token);

    /**
     * 根据用户id获取用户信息
     * @param id
     * @return
     */
    UserInfoEntity findByUserId(long id, String token);

    /**
     * 根据appid获取用户信息
     * @param openId
     * @return
     */
    UserInfoEntity findByAppId(String openId);

    /**
     * 用户登录
     * @param code
     * @return
     */
    Map<String, String> login(String code);

    /**
     * 用户提现
     * @param uid
     * @param token
     * @param quota
     * @return 0 提现失败 1 提现请求成功 2 提现金额不符
     */
    int getMoney(String uid, String token, BigDecimal quota);

    /**
     * 用户是否已经有提现记录，且状态是未体现的
     * @param uid
     * @return true 有 false 没有
     */
    boolean getCashHistory(String uid, String token);
}
